Graphical user interfaces (GUIs), while less common in the early days of computing, have become common place among computing applications. GUIs allow users to operate an underlying program, application or other system to accomplish some task or set of tasks through interactions with one or more visual components of the GUIs. The interactions may include, for example, clicking a button or entering text on the GUI.
Over time, a GUI may be created, modified, or updated to reflect additional functionality associated with an underlying system, or the GUI may be redesigned without additional system functionality. But regardless of whether or not the underlying system changes, modifications to a GUI can have a profound and sometimes unexpected or even undesirable impact on the ways users interact with the system and/or GUI.
To determine, for example, the impact of a created or modified GUI, or to gauge the efficacy of an existing GUI, an administrator may want to evaluate how different users use the GUI. But for as many users who interact with the GUI, there may exist as many different user experiences. However, over a number of different user experiences, while there may still exist differences among the experiences, there may also exist some overlap or similarities as well. Such overlap may include, for example, a common interaction performed by two or more users while trying to accomplish similar tasks (i.e. clicking on the same button on the GUI, using a mouse).
However, it may be difficult and time-intensive for a single, or even a team of administrator(s) to personally or manually administer and review the experiences of several users, and to try to determine similarities and/or differences in the users'experiences. This task may become even more difficult, where there are a large number of users interacting with a GUI whose experiences need to be evaluated.